package com.joker.airoleplayplatformback.service;

import com.joker.airoleplayplatformback.domain.dto.VoiceInfo;
import com.joker.airoleplayplatformback.domain.po.AiAgentPO;

import java.util.List;

/**
 * AI智能体服务接口
 *
 * @author feixiang.li
 * @since 2025-09-28
 */
public interface AiAgentService {

    /**
     * 获取所有启用的智能体列表
     */
    List<AiAgentPO> getEnabledAgents();

    /**
     * 根据ID获取智能体信息
     */
    AiAgentPO getAgentById(Long id);

    /**
     * 根据agentKey获取智能体信息
     */
    AiAgentPO getAgentByKey(String agentKey);

    /**
     * 创建智能体
     *
     * @param agent 智能体
     * @return 智能体
     */
    AiAgentPO createAgent(AiAgentPO agent);

    /**
     * 更新智能体
     *
     * @param agent 智能体
     * @return 智能体
     */
    AiAgentPO updateAgent(AiAgentPO agent);

    /**
     * 删除智能体
     *
     * @param id id
     * @return 是否删除成功
     */
    boolean deleteAgent(Long id);

    /**
     * 初始化默认智能体
     */
    void initDefaultAgents();

    /**
     * 获取音色列表
     *
     * @return 音色列表
     */
    List<VoiceInfo> getVoiceTypeList();
}
